package com.terabits.smartriver.mapper;

import com.terabits.smartriver.meta.po.Model;
import com.terabits.smartriver.meta.po.ModelSetting;
import com.terabits.smartriver.meta.vo.ModelVO;
import com.terabits.smartriver.util.PageData;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectKey;
import org.springframework.security.access.method.P;
import org.springframework.util.StringUtils;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

@org.apache.ibatis.annotations.Mapper
public interface ModelMapper extends Mapper<Model> {
    /**
     * 查看模型
     *
     * @param modelId
     * @return
     */
    List<ModelVO> selectModel(@Param("modelId") Integer modelId);

    /**
     * 通过项目编号查询模型
     *
     * @param pageData
     * @return
     */
    List<PageData> selectModelById(@Param("pd") PageData pageData);

    /**
     * 查看此数值在什么范围内
     *
     * @param modelId
     * @param result
     * @return
     */
    ModelSetting selectOneModelSetting(@Param("modelId") Integer modelId, @Param("result") double result);

    /**
     * 查看公式-设备
     *
     * @param pageData
     * @return
     */
    List<Integer> selectListModelIdByProjectNum(@Param("pd") PageData pageData);

    /**
     * 查看公式-设备
     *
     * @param pageData
     * @return
     */
    List<PageData> selectModelDevice(@Param("pd") PageData pageData);

    /**
     * 查找设备模型
     *
     * @param pageData
     * @return
     */
    List<PageData> selectModelDeviceByDeviceId(@Param("pd") PageData pageData);

    /**
     * 添加模型设备绑定
     *
     * @param pageData
     * @return
     */
    int insertModelDevice(@Param("pd") PageData pageData);

    /**
     * 修改模型设备绑定
     *
     * @param pageData
     * @return
     */
    int updateModelDevice(@Param("pd") PageData pageData);

    /**
     * 删除模型设备绑定
     *
     * @param id
     * @return
     */
    int deleteModelDevice(@Param("id") Integer id);


}